/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ua.epam.muzalevskiy.third_project.knife;

/**
 * This class include all items need to describe the knife.
 *
 * @author Muzalevskiy Vitaliy
 */
public class Knife {
    
    /**
     * Knife ID value.
     */
    private String id;
    
    /**
     * Knife type value.
     */
    private KnifeType type;
    
    /**
     * Knife handy value.
     */
    private KnifeHandy handy;
    
    /**
     * Origin of knife.
     */
    private String origin;
    
    /**
     * Knife blade value.
     */
    private Blade blade;
    
    /**
     * Knife handle value.
     */
    private Handle handle;
    
    /**
     * This parameter tall ass is this knife value.
     */
    private boolean value;

    /**
     * Constructor of <code> Knife </code> class.
     *
     * @param id - knife ID value.
     * @param type - knife type value.
     * @param handy - knife handy value.
     * @param origin - origin of knife.
     * @param blade - knife blade value.
     * @param handle - knife handle value.
     * @param value - this parameter tall ass is this knife value.
     */
    public Knife(String id, KnifeType type, KnifeHandy handy, String origin,  
            Blade blade, Handle handle, boolean value) {
        this.id = id;
        this.type = type;
        this.handy = handy;
        this.origin = origin;
        this.blade = blade;
        this.handle = handle;
        this.value = value;
    }

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @return the type
     */
    public KnifeType getType() {
        return type;
    }
    
    /**
     * @return the handy
     */
    public KnifeHandy getHandy() {
        return handy;
    }

    /**
     * @return the origin
     */
    public String getOrigin() {
        return origin;
    }

    /**
     * @return the blade
     */
    public Blade getBlade() {
        return blade;
    }

    /**
     * @return the handle
     */
    public Handle getHandle() {
        return handle;
    }

    /**
     * @return the value
     */
    public boolean isValue() {
        return value;
    }       

    @Override
    public String toString() {
        return "Knife{" + "id=" + id + ", type=" + type + ", origin=" 
                + origin + ",\n" + blade + ",\n" + handle + ",\n value=" 
                + value + "}\n";
    }
       
}
